package BakaNoPackage.Donnees;

import BakaNoPackage.Exception.EntiteIntrouvableException;

/**
 * @author nicolas Muller
 *
 * Permet de représenter un des tome d'un saison
 */
public class Tome extends Entite {
	

	//Le nombre de pages du tome
	private int nbPages;

	/**
	 * Constructeur
	 * 
	 * @param id Id du tome
	 * @param saison ID de la saison à laquelle est associée le tome
	 * @param nom nom du tome
	 * @param synopsis synpsis du tome
	 * @param nbPages nombre de pages du tome
	 * @param donnees gestionnaire de données à utiliser
	 */
	public Tome(int id, int saison, String nom, String synopsis, int nbPages, Donnees donnees) {
		super(id, saison, nom, synopsis, donnees);
		this.nbPages = nbPages;
	}
	
	/**
	 * Donne le nombre de pages
	 * 
	 * @return Nombre de pages
	 */
	public int getNbPages() {
		return nbPages;
	}

	/**
	 * Définit le nombre de pages
	 * 
	 * @param nombre de pages
	 * @throws EntiteIntrouvableException 
	 */
	public void setNbPages(int nbPages) {
		this.nbPages = nbPages;
		updateDB();
	}

	@Override
	protected void updateDB(){
		try {
			donnees.setTome(this);
		} catch (EntiteIntrouvableException e) {

			System.out.println("Entite introuvable:" + this.getNom());
		}
	}

	@Override
	public void delete() throws Exception {
		
		donnees.deleteTome(this);
		
	}
	
	public String toString(){
		String retour = "Tome " + super.toString();
		retour += "\n Taille: " + this.getNbPages() +" pages";
		
		return retour;
	}
}
